package service.v2;

import java.util.List;
import java.util.Map;

import model.AddressVO;
import model.BoardVO;
import model.GoodDeliveryInterCountryVO;
import model.GoodVO;
import model.MemberVO;
import model.OrderEvaluateVO;
import model.OrderGoodVO;
import model.PromotionItemVO;
import model.PromotionVO;
import model.SendTempItemVO;
import model.StandardVO;

public interface GoodService {

	List<GoodVO> getHotList(GoodVO goodVO);

	GoodVO getGoodById(String id, String file_cat);

	int getTotal(GoodVO goodVO);

	List<GoodVO> getGoodList(GoodVO goodVO);

	int checkGoodStandardById(String id);

	/*商品详细 图文详细*/	
	GoodVO getGoodDetilById(String good_id);

	int getSpecialTotal(GoodVO goodVO);

	List<GoodVO> getSpecialGoodList(GoodVO goodVO);

	OrderEvaluateVO getOneEvaluByGoodId(String good_id);

	List<GoodVO> processGoodList(List<GoodVO> list, MemberVO memberVO, String ticket_name) throws Exception;

	List<GoodVO> getRandomGoodListNoLogin(GoodVO goodVO);

	List<GoodVO> getRandomGoodListLogin(String member_id,String member_recommend);

	void processImg(List<GoodVO> list, String screenwidth, int i);
	
	String getMemberRecommend(String member_id, String num);

	int checkGoodById(String good_id);

	String getGoodPackageName(String good_id);

	List<GoodVO> setShareMsg(List<GoodVO> list,String invite_no);

	GoodVO getGoodInfoById(String good_id, String folder_cat);

	void updataShareTimes(GoodVO goodVO);
	
	Object dealNewStadardDetails(String good_id,String type_id,String type_child_name,String searchState,String last_type_id,String last_type_child_name,MemberVO memberVO);
	
	String processPrivilegePrice(String buy_type,String ticket,String ticket_price, MemberVO memberVO, String ticket_name);
	
	String processMemberPrice(String sell_price, String buy_type,String ticket,String ticket_price, MemberVO memberVO) throws Exception;
	
	List<OrderGoodVO> getOrderGoodList();
	
	void updOrderGoodImg(String id,String file_name);

	void updTest();

	String processDeductionInfo(String buy_type, String min_ticket, String min_ticket_price, MemberVO memberVO,
			String ticket_name, String country);

	String processPromotionItem(PromotionItemVO promotionItemVO, MemberVO memberVO) throws Exception;
	
	public String promotionItem(PromotionItemVO promotionItemVO, PromotionVO promotionVO);

	void processPromotionList(List<GoodVO> list, MemberVO memberVO) throws Exception;
	boolean promotionShow(MemberVO memberVO, String max_level)throws Exception;

	String getSaveInfo(MemberVO memberVO) throws Exception;

	MemberVO updataDeliveryAddress(String member_id, String address_id, String city_id);

	Map getGoodsFreightAndDeliveryAddressState(String member_id, String address_id, String city_id, String good_id,
			String num);

	MemberVO getAddressDefaultInfo(String member_id,String good_id, String lang);
	List<SendTempItemVO> getSendTempItemBySendTempId(String send_temp_id,String city_id);

	List<GoodVO> getOrdinaryMemberGoodList(GoodVO goodVO);

	List<GoodVO> getGoodListT(GoodVO goodVO);

	List<GoodVO> tempDefaultGoodList(String member_id, String screenwidth, String lang) throws Exception;

	List<GoodVO> packageGoodPrice(List<GoodVO> goodList);

	String checkCountry(String standard_id);

	List<GoodVO> getHotWatchByGoodId(String id);

	MemberVO updataDeliveryAddressEn(String member_id, String address_id, String city_id);

	Map getGoodsFreightAndDeliveryAddressStateEn(String member_id, String address_id, String city_id, String good_id,
			String num, String country_id);

	GoodDeliveryInterCountryVO getSendTempItemBySendTempIdEn(String good_temp_id, String country_id);

	String promotionItemEn(PromotionItemVO itemVO, PromotionVO promotionVO);

}
